home *** CD-ROM | disk | FTP | other *** search
/ Belgian Amiga Club - ADF Collection / BS1 part 23.zip / BS1 part 23 / Bootstart.adf / BootX / BootX3.66.doc < prev    next >
Text File  |  1991-04-30  |  20KB  |  579 lines

  1.  
  2.                      BootX v3.66 User Manual
  3.  
  4.                            May 1, 1991
  5.  
  6.                             FREEWARE
  7.  
  8.                     KickStart 2.0 compatible
  9.                     Requires the arp.library
  10.  
  11. DISCLAIMER
  12.  
  13. BootX has been thoroughly tested and is the result of a constant
  14. process of changes and updates that started in April 1989.  The
  15. program has proven to be stable in everyday use.  The author is
  16. not responsible for any loss of data, damages to software or
  17. hardware that may result directly or indirectly from the use of
  18. this program.
  19.  
  20.  
  21. PREFACE
  22.  
  23. This program is freeware, this means that you can copy it freely
  24. as long as you don't ask any more money for it than a nominal fee
  25. for copying.  If you want to distribute this program you should
  26. keep this document with it.  This program cannot be used for
  27. commercial purposes without written permission from the author.
  28.  
  29. If you have suggestions or remarks about this program, or if you
  30. find any bugs, please let me know.
  31.  
  32. Write to the following address:
  33.  
  34.         Peter Stuer
  35.         Kauwlei 21
  36.         B-2550 Kontich
  37.         Belgium - Europe
  38.  
  39.  
  40. PACKAGE
  41.  
  42. The BootX package consists of:
  43.  
  44.         BootX3.66               The program file
  45.         BootX.BBLib             The BootX bootblock library
  46.         BootX.Brain             An example of a brainfile
  47.         BootX3.66.doc           This file
  48.  
  49. Note that the BootX.BBLib nor the BootX.Brain files are required
  50. to run the program.  BootX will display an errormessage when
  51. either of these two files are not found.  See further.
  52.  
  53. This documentation will always be updated at the top.  Users of
  54. previous versions of BootX need only read the paragraphs
  55. reflecting the changes since their last version.
  56.  
  57.  
  58. Changes from BootX v3.65
  59. ------------------------
  60.  
  61. - Added check for Butonic 1.31 and Bret Hawnes linkviruses
  62. - Added check for new bootviruses
  63.  
  64.         Blow Job virus
  65.         Byte Voyager 1 virus
  66.         Byte Voyager 2 virus
  67.         Paratax II virus
  68.         Fast 2 virus
  69.         Mad II virus
  70.         Hilly virus
  71.         Obelisk Crew virus
  72.         Paradox 1 virus
  73.         Paradox 2 virus
  74.         Saddam Hussein virus
  75.         SuperBoy virus
  76.         Tomates-Gentechnic virus
  77.         The Traveller 1.0 virus
  78.         Vermin virus
  79.  
  80. - To comply with the classification of the Virus Bank I changed
  81.   the following bootblocks to be reported as a virus:
  82.  
  83.         ASS VirusProtector
  84.         ByteWarrior Fastloader
  85.         HCS4220 Viruskiller
  86.         SupplyTeam Viruskiller
  87.         Virus Slayer 1.0
  88.  
  89. - Version is now 3.66
  90.  
  91.  
  92. Changes from BootX v3.64
  93. ------------------------
  94.  
  95. - Tweeked BootX a little further
  96. - Fix a little bug in my Anti-Virus bootlblock: Anti-Virus bootblock
  97.   v5.0 is now KickStart 2.0 compatible
  98.  
  99.  
  100. Changes from BootX v3.63
  101. ------------------------
  102.  
  103. - Added a file check for Saddam linkvirus.  This little virus
  104.   lives in the L:  directory and has the name and the file size
  105.   of a KickStart 1.3 disk-validator file.
  106.  
  107. Changes from BootX v3.61-3.62
  108. -----------------------------
  109.  
  110. - Numerous little bug fixes to make BootX more stable.
  111.  
  112. Changes from BootX v3.60
  113. ------------------------
  114.  
  115. - Added the normal DOS Install bootblock to the bootblock library.
  116. - Removed some old anti-virus bootblocks from the library.
  117.  
  118.  
  119. Changes from BootX v3.51
  120. ------------------------
  121.  
  122. - Succesfully adapted BootX to run with KickStart 2.x.  KickStart
  123.   1.3 and 1.2 are still supported.
  124. - Fixed a bug in the startup routine that only showed up when the
  125.   arp.library wasn't found.
  126. - CheckFile now shows more information about the file it is
  127.   checking.
  128. - BootX now gets its screen height and screen mode from the
  129.   Workbench screen in case it is open.  In other cases the
  130.   default 200 is used.
  131. - Fixed the bug that caused an uninitialised bootblock to
  132.   recognized as the Graffiti virus (Sorry about that).
  133. - Replaced the MemoryCheck routine by the one found in EVW (EVW
  134.   is an Early Virus Warning program by the same author).
  135. - The 'Show known bootblocks' menu option can now be used to show
  136.   which bootblocks and bootviruses BootX knows.
  137. - Answering 'No' to the 'Remove current brainfile' requester now
  138.   works.
  139. - BootX now offers to add a file comment to any linkvirus it
  140.   finds.
  141. - IMPORTANT:  some users complained that BootX didn't 'clear' any
  142.   suspicious vectors.  Well, it does but only the first 5 of the
  143.   list.  Should any other than the first 5 vectors be marked with
  144.   'Please check' and you don't know what is using those vectors,
  145.   turn off your Amiga, wait a few seconds and reboot.  I noticed
  146.   that some harddisks or expansion boards changed the vectors of
  147.   the ExecBase.
  148.  
  149.  
  150. Changes from BootX v3.40
  151. ------------------------
  152.  
  153. - Expanded the memory checker
  154. - Fixed a bug in the error exit routine (in case the arp.library
  155.   wasn't found)
  156. - Rewrote the CheckFiles routine again to use a FIFO software
  157.   stack instead of being recursive.  CheckFiles can be
  158.   interrupted again by pressing any mousebutton.
  159. - Fixed a bug in the name printing routine of the linkviruses.  I
  160.   accidentally switch the arguments for _LVOPrintf.
  161. - Added a lot of new recog ID's for bootblockviruses.
  162. - BootX v3.60 now recognizes 10 linkviruses:
  163.         IRQ                                     Butonic
  164.         BSG-9 (TTV1)                            CCCP
  165.         Revenge of the Lamer Exterminator       Jack
  166.         Xeno                                    Centurions
  167.         Disaster Master                         TTV1 2
  168.  
  169. - Special thanks go to Erik Løvendahl Sørensen for giving me
  170.   access to his virus databank.  For more information and Erik's
  171.   address, refer to the bottom of this doc file.
  172.  
  173.  
  174. Changes from BootX v3.30
  175. ------------------------
  176.  
  177. - Added a check for the Peter Stuer Anti-Virus 3.0 bootblock
  178. - Cleanup up a lot of the code
  179. - Squashed some potential bugs
  180. - Completely rewrote the LinkVirusCheck routine to use a client
  181.   call-back function.
  182. - Completely rewrote the MemoryCheck routine and added a few more
  183.   vectors to check.
  184. - Added checks for 2 more bootblocks and 7 more bootblockviruses
  185. - Added checks for several new linkviruses.
  186. - Rewrote the BootBlock library routines
  187. - BootX now detects if another copy is running.  This was asked
  188.   by some users who always forgot they still had a dormant copy
  189.   of BootX hanging around on the Workbench.
  190. - For users of the SetPatch -r option BootX now asks if it is
  191.   allright to reset any memory vectors.
  192. - More vectors are shown that are potential targets for viruses.
  193. - Fix a bug in the View Brainfile option.
  194. - Fix a bug in the Save Brainfile option.
  195. - Added the Merge Brainfile option:
  196.   Since version 3.30 BootX has been able to create brainfiles.
  197.   This option allows you to 'merge' a brainfile you got from a
  198.   friend.  BootX takes care of all the details.  It won't add any
  199.   signatures that already exist.  You select the brainfile you
  200.   wish to merge in the ARP file requester.  Merging occurs in
  201.   memory, so don't forget to save the updated brainfile (BootX
  202.   will warn you though.
  203. - Fixed a bug in the startup code.  BootX now uses the same
  204.   current directory as the CLI it was started from.
  205. - Added the Quit menuitem
  206.  
  207.  
  208. Changes from BootX v3.20 (The big one)
  209. --------------------------------------
  210.  
  211. - Fixed a bug in the font name.  BootX should now always use the
  212.   Topaz 80 font (Hopefully).
  213. - Fixed a bug in the startup code.
  214. - Optimized the code completely
  215. - BootX now checks for viruses on startup
  216. - Completely rewrote the MemoryCheck routine
  217. - All information is now printed using a console (Now I can use
  218.   formated output for several functions.  For the Amiga
  219.   programmers:  I understand the RawDoFmt() function now (at
  220.   last)).
  221. - Completely rewrote the link virus check routine.  It can be
  222.   stopped by pressing the left mousebutton.
  223. - BootX tries to reconise a bootblock that is loaded.
  224. - Added checks for PVL Virus Protector 6.5 and Anti-Virus 2.0 and
  225.   added both to the built-in bootblocks.
  226. - Removed some of the spelling errors from this doc file
  227.  
  228. Changes from BootX v3.1
  229. ------------------------
  230.  
  231. - Fixed a bug in the new recognition routine.
  232.  
  233. Changes from BootX v3.0
  234. -----------------------
  235.  
  236. - Some internal code optimizations.
  237. - Added Anti-Virus 1.0 from Peter Stuer.
  238. - Finally removed the NorthStar 2 bootblock from the installable
  239.   bootblocks.
  240.  
  241. Changes from BootX v2.9
  242. -----------------------
  243.  
  244. - Reformated this doc file so it can be read from the CLI using
  245.   type.
  246. - The detection on/off switch now flashes when it is selected.
  247. - Added a new bootblock to the recog list.
  248. - Added my own viruschecker to the installable bootblocks:
  249.  
  250.         Thor Anti-Virus v1.0
  251.  
  252. When you boot a disk with this bootblock, it first checks the
  253. ExecBase vectors that are most likely to change when a virus
  254. installs itself.  For the programmers among you:  ColdCapture,
  255. CoolCapture (WarmCapture isn't supported in KickStart1.2 and
  256. 1.3), KickMemPtr, KickTagPtr and KickCheckSum.  OldOpenLibrary
  257. (IRQ Virus) and PutMsg or DoIO are not checked because these
  258. vectors are reset upon booting.  When nothing suspicious is
  259. found, a title picture is shown signaling everything is OK.  You
  260. can either wait or click the left mousebutton to continue.  When
  261. Thor Anti-Virus v1.0 finds something in the above mentioned
  262. vectors the screen flashes red for a short period.  It is up to
  263. you to react within this period and click the right mousebutton.
  264. When you NOTHING is changed and all vectors are left alone.  I
  265. put in this option because some programs (TurboPrint, ATool) use
  266. these vectors to stay resident.  Note that there is no way
  267. telling wheter there is a virus in memory or some useful resident
  268. code.  When you don't press the right mousebutton, Thor
  269. Anti-Virus resets ExecBase and TRASHES any code found in the
  270. Resident vectors.  I found this the only effective way of killing
  271. a Resident structure in this little code.  I know its not pretty
  272. but its damn effective !!!  The Amiga then resets as if nothing
  273. happened.  Normally you should only get the title screen then.
  274. Thor Anti-Virus v1.0 works completely legally, that is reserving
  275. memory for its screen and structure, so it should be compatible
  276. with KickStart 1.3 and 1.4(?).  I have not had a chance to try
  277. this out.  If you have any problems please let me know.
  278.  
  279.  
  280. Short introduction
  281. ------------------
  282.  
  283. BootX v3.66 is an attempt to make the ultimate viruskiller.
  284. BootX v3.66 is fast (written completely in assembler), small and
  285. tries to be as user friendly as possible (use of the
  286. arp.library).
  287.  
  288. This program is freeware.  It can be copied by anyone except for
  289. commercial use as long as this documentation file and the program
  290. icon accompanies the program.  Note that this program requires
  291. the Arp library to run.  No source code accompanies this program
  292. for the obvious reason that everybody would be able to change the
  293. checking algorithm.
  294.  
  295. If you find any new viruses or linkviruses that BootX does not
  296. recognize yet, please send them on a disk to me (my address is at
  297. the bottom of this document).  I will return the disk to you with
  298. an updated copy of BootX.
  299.  
  300. P. Stuer
  301.  
  302.  
  303. How to start BootX v3.66
  304. ------------------------
  305.  
  306. BootX v3.66 (from here on referred to as BootX) was written to be
  307. used by both beginners and experienced users.  BootX can be
  308. started both from CLI and the Workbench.
  309.  
  310.  
  311. Starting BootX from the CLI
  312.  
  313. To start BootX from the CLI simply type:
  314.  
  315.         1> BootX3.66
  316.  
  317. followed by a return.  This loads the BootX program and starts
  318. it.  BootX then detaches itself from the CLI.  This means that
  319. you can start BootX, bring the Workbench screen back to the front
  320. and then close the CLI window with the EndCLI command.
  321.  
  322.  
  323. Starting BootX from the WorkBench
  324.  
  325. This is the easy part.  Simply click on the accompaning icon and
  326. BootX starts.
  327.  
  328.  
  329.  
  330. How to use BootX v3.66
  331. ----------------------
  332.  
  333. A lot of viruscheckers and viruskillers are already written for
  334. the Amiga but none of them offered all the features I needed.
  335. Hence the various disks offering several different programs for
  336. doing the job.  Enters BootX.
  337.  
  338. BootX can check the bootblock of a disk, check memory for any
  339. resident viruses and scan a disk for linkviruses.  It can load
  340. bootblock libraries for you to write on your disks as an
  341. alternative for the boring DOS Install bootblock.  It can load
  342. "brain files" so you can add any new bootblocks that BootX does
  343. not recognise yet.
  344.  
  345. Let's start a guided tour of the screen.  The main screen offers
  346. several gadgets (I hate menus when I want to work fast).  Just
  347. click the appropriate gadget to perform an action.
  348.  
  349. Quit
  350.  
  351.     Does just what the gadget says:  it releases all used memory
  352. and quits the program.
  353.  
  354.  
  355. Read to buffer
  356.  
  357.     This gadget explicitly instructs BootX to read the bootblock
  358. from the current selected drive into the buffer.  Normally BootX
  359. detects when a new disk is inserted and automatically reads its
  360. bootblock.  But some old 5 1/4 drives don't support automatic
  361. diskchange.  This gadget can also be used to read the bootblock
  362. after another programs has modified the bootblock.
  363.  
  364.  
  365. Write to buffer
  366.  
  367.     Here you instruct BootX to write the bootblock currently in
  368. the buffer to the selected drive.  BootX maintains a buffer that
  369. holds the last read bootblock.  This buffer is also visible in
  370. the large display window in semi-ASCII form (more about this
  371. later).  The buffer allows you to read a bootblock from one disk
  372. and then copy it to another.
  373.  
  374.  
  375. The 4 drive gadgets
  376.  
  377. You can connect 4 disk drives to the Amiga.  BootX checks how
  378. many drives are connected to the Amiga and installs a gadget for
  379. every one of them.  When a drive is not found the gadget will
  380. read "N/A":  not available.  Note that although a drive is
  381. connected the Amiga will not recognize its presence when it is
  382. turned off (only applicable for external drives).
  383.  
  384.  
  385. Install BootBlock
  386.  
  387. Here you can write the selected built-in bootblock to the
  388. bootblock of the current drive.
  389. When no bootblock library is loaded only the normal Install v1.3
  390. bootblock is available.  At startup BootX looks for a file called
  391. "BootX.BBLib" in the directory from which BootX started.  It
  392. contains several alternative bootblocks.  It is possible to load
  393. another bootblock library using the "Load bootblock library"
  394. menuitem (see further).
  395.  
  396.  
  397. Next and Previous
  398.  
  399. These gadgets show the next or the previous bootblocks in the
  400. currently loaded bootblock library.  If no library is loaded,
  401. only the normal Install 1.3 bootblock will be available.  Among
  402. the bootblocks are the normal DOS bootblock, Ralph Babel's
  403. Install2 and several others.  Thanks to all groups and
  404. programmers whose bootblock I included.  Note however that when
  405. you press Next and Previous the bootblock buffer is not updated.
  406.  
  407.  
  408. BootBlock window
  409.  
  410. This window shows the name of the selected built-in bootblock.
  411.  
  412.  
  413. Message window
  414.  
  415. This window reports messages and errors resulting from the
  416. various operations.
  417.  
  418.  
  419. Main display window
  420.  
  421. Shows the bootblock currently in the buffer in semi-ASCII
  422. representation.  Only the readable characters are shown.  This
  423. allows you to check for readable text signifying the nature of
  424. the bootblock when BootX reports "Unknown bootblock".
  425.  
  426.  
  427. About
  428.  
  429. Display information about BootX and the version number.  Always
  430. try to get the latest version available to have optimum virus
  431. protection.
  432.  
  433.  
  434. Load from/Save to file
  435.  
  436. BootX can save the bootblock in the buffer to any valid Amiga
  437. device.  'Save to file' can be used to save the bootblocks of
  438. games, mega demos and other programs to a separate data disk.  In
  439. case of a virus attack or a bad disk you can load the previously
  440. saved bootblock back in the buffer and write it back to the
  441. original disk.  Note:  no checking is done on the loaded
  442. bootblock.  So it is possible to load f.i.  the parallel.device
  443. and write it to the boot block.  This allows you to write
  444. self-made bootblock to the disk.  BootX now asks you if it should
  445. correct the bootblock checksum when it is wrong.
  446.  
  447.  
  448. Memory check
  449.  
  450. Checks the memory for any known virus ignoring all known resident
  451. virus checkers.  When BootX finds a virus it will display an
  452. Alert identifying which virus was in memory and will try to kill
  453. it.  BootX also removes any known linkvirus from memory.
  454.  
  455. BootX also shows some important vectors from Execbase in the main
  456. display window.  These vectors are mostly altered by viruses.  A
  457. normal vector will be display in white.  When BootX thinks that
  458. something is not normal it will display the vector in white on
  459. red.  Note that this not necessarily means that there is a virus
  460. in memory.  Resident programs as f.i.  TurboPrint use these
  461. vectors too.  I will try to keep BootX's knowledge base as up to
  462. date as possible.  In case of doubt, save all data and cold-start
  463. the Amiga, that is, turn of the power and wait a few seconds
  464. before turning it on again.
  465.  
  466.  
  467. Goto sleep
  468.  
  469. Closes the main BootX screen and releases as much memory as
  470. possible.  A small window on the workbench screen is opened
  471. showing that you that BootX is still in memory.  In this state
  472. BootX uses no CPU time and just waits for you to make the window
  473. active and click in it with the menu button (the right mouse
  474. button).  Then the main BootX screen and window is opened again
  475. and you can go on again.  BootX does not unload a brain file or a
  476. bootblock library.  Also, when asleep BootX doesn't do any
  477. checking ( like VirusX does).  I did this on purpose.  There is
  478. no need to continuously keep checking every disk that is
  479. inserted.  Just check them once to make sure there virus-free.
  480.  
  481.  
  482. Kill LinkVirus
  483.  
  484. This gadget pops up the file requester for you to specify a
  485. device to search for linkviruses.  In the current version this
  486. can only be a device.  Later version will support directory and
  487. file checking (NOTE:  as of BootX v3.40 directories can be
  488. specified also).  When you select OK BootX starts searching for
  489. linkviruses in any executable file it encounters.  Note that the
  490. complete disk is searched.  In case BootX finds a link virus you
  491. are given the option to remove it from the infected file.  BootX
  492. removes the linkvirus and save the file under the same name with
  493. an extension ".bx".  Currently only the IRQ and the TTV1
  494. linkviruses are checked for (NOTE:  BootX 3.40 and higher
  495. recognize more linkviruses).
  496.  
  497.  
  498. Help
  499.  
  500. This gadget toggles the help feature.  When it is turned on you
  501. can click any gadget to get a short help message about its
  502. function.  Click Help again to turn off the help feature.
  503.  
  504.  
  505. Detection on/off
  506.  
  507. This gadget works as an on/off switch.  It turns off diskchange
  508. detection.  Sometimes it is not useful to have BootX read the
  509. bootblock of every disk you insert, especially when you have a
  510. bootblock in the buffer you wish to write to another disk.  This
  511. gadget allows one drive user to copy bootblocks.
  512.  
  513. Learn
  514.  
  515. Clicking this gadget prompts you for a name when BootX does not
  516. known the bootblock in the buffer yet.  Enter an empty string
  517. when you want to cancel the operation.  BootX then adds the
  518. bootblock to the current brain file (if present).  Else it makes
  519. a brain file in memory.
  520.  
  521.  
  522. The Menu
  523. --------
  524.  
  525. Load Bootblock library
  526.  
  527. Selecting this menuitem (or the key combination Right-Amiga-B)
  528. allows you to load another bootblock library than the default
  529. BootX.BBLib
  530.  
  531.  
  532. Load Brainfile
  533.  
  534. Selecting this menuitem (or the key combination Right-Amiga-L)
  535. allows you to load another brainfile than the default
  536. BootX.Brain.  BootX will load only valid brainfiles.  Before
  537. loading it asks you if you want this brainfile to replace the one
  538. in memory.
  539.  
  540.  
  541. Save Brainfile
  542.  
  543. Selecting this menuitem (or the key combination Right-Amiga-S)
  544. allows you to save the brainfile that is currently in memory.
  545.  
  546.  
  547. Learn Bootblock
  548.  
  549. Selecting this menuitem (or the key combination Right-Amiga-A) is
  550. the same as clicking on the Learn gadget (see higher).
  551.  
  552. I realize this documentation is brief but I made BootX to be as
  553. intuitively as possible.  BootX is updated frequently to
  554. recognize new bootblocks and viruses.
  555.  
  556. Peter Stuer
  557. Kauwlei 21
  558. B-2550 Kontich
  559. Belgium - Europe
  560.  
  561. ::: Virus Data Bank for programmers :::::::::::::::::::::::::::::
  562.  
  563. Erik Løvendahl Sørensen has been keeping track of boot- and
  564. linkviruses on the Amiga.  He has started a data bank with
  565. international support that is open for viruskiller programmers to
  566. use and contribute to.  For more information contact Erik at:
  567.  
  568. Erik Løvendahl Sørensen
  569. Snaphanevej 10
  570. 4720 Præstø
  571. Denmark
  572. Phone: 00 45 53 79 25 12
  573. Fidonet 2:230/114.26
  574.  
  575.              _
  576.           _ //
  577. Thanks to \X/ Amiga for being the best computer ever !
  578. Thanks to BSB for beta testing and giving useful comments.
  579.